package com.love.usedcar.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.love.common.core.annotation.Excel;
import com.love.common.core.web.domain.BaseEntity;

/**
 * 二手车中心对象 LOVE_USED_CAR
 * 
 * @author love
 * @date 2025-10-01
 */
public class LoveUsedCar extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 车辆编号（自增主键） */
    private Long carId;

    /** 关联车辆系列ID */
    @Excel(name = "关联车辆系列ID")
    private Long seriesId;

    /** 关联车辆系列ID */
    @Excel(name = "车商ID")
    private Long userId;

    /** 关联车辆系列ID */
    @Excel(name = "车商昵称")
    private String nickName;

    /** 品牌类型（如：奔驰、宝马） */
    @Excel(name = "品牌类型", readConverterExp = "如=：奔驰、宝马")
    private String brandType;

    /** 车型（如：奔驰C级 2020款） */
    @Excel(name = "车型", readConverterExp = "如=：奔驰C级,2=020款")
    private String brandName;

    /** 出厂年份 */
    @Excel(name = "出厂年份")
    private String yearOfManufacture;

    /** 行驶里程（单位：万公里） */
    @Excel(name = "行驶里程", readConverterExp = "单=位：万公里")
    private BigDecimal mileage;

    /** 排量（如：1.5T、2.0L） */
    @Excel(name = "排量", readConverterExp = "如=：1.5T、2.0L")
    private String displacement;

    /** 燃油类型（关联字典表：used_car_fuel_type） */
    @Excel(name = "燃油类型", readConverterExp = "关=联字典表：used_car_fuel_type")
    private String fuelType;

    /** 变速箱类型（关联字典表：used_car_gearbox_type） */
    @Excel(name = "变速箱类型", readConverterExp = "关=联字典表：used_car_gearbox_type")
    private String gearboxType;

    /** 车身颜色 */
    @Excel(name = "车身颜色")
    private String color;

    /** 车辆识别码（车架号） */
    @Excel(name = "车辆识别码", readConverterExp = "车=架号")
    private String vin;

    /** 过户次数 */
    @Excel(name = "过户次数")
    private Long ownerCount;

    /** 车辆状况（如：原版原漆、局部补漆、无重大事故） */
    @Excel(name = "车辆状况", readConverterExp = "如=：原版原漆、局部补漆、无重大事故")
    private String vehicleCondition;

    /** 质保状态（如：原厂质保、第三方质保、无质保） */
    @Excel(name = "质保状态", readConverterExp = "如=：原厂质保、第三方质保、无质保")
    private String warrantyStatus;

    /** 售价（单位：万元） */
    @Excel(name = "售价", readConverterExp = "单=位：万元")
    private BigDecimal price;

    /** 售价（单位：万元） */
    @Excel(name = "售价", readConverterExp = "单=位：万元")
    private BigDecimal newPrice;

    /** 主图路径 */
    @Excel(name = "主图路径")
    private String image;

    /** 其他图片路径（多张用逗号分隔） */
    @Excel(name = "其他图片路径", readConverterExp = "多=张用逗号分隔")
    private String otherImages;

    /** 上牌日期 */
    @Excel(name = "上牌日期")
    private String licenseDate;

    /** 上牌日期 */
    @Excel(name = "上牌地")
    private String licenseLocation;

    /** 车辆状态（0：已售出，1：在售，2：已下架） */
    @Excel(name = "车辆状态", readConverterExp = "0=：已售出，1：在售，2：已下架")
    private Long status;

    /**
     * 配置ID集合
     */
    private Long[] configIds;

    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }

    public void setSeriesId(Long seriesId) 
    {
        this.seriesId = seriesId;
    }

    public Long getSeriesId() 
    {
        return seriesId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public void setBrandType(String brandType)
    {
        this.brandType = brandType;
    }

    public String getBrandType() 
    {
        return brandType;
    }

    public void setBrandName(String brandName) 
    {
        this.brandName = brandName;
    }

    public String getBrandName() 
    {
        return brandName;
    }

    public void setYearOfManufacture(String yearOfManufacture) 
    {
        this.yearOfManufacture = yearOfManufacture;
    }

    public String getYearOfManufacture() 
    {
        return yearOfManufacture;
    }

    public void setMileage(BigDecimal mileage) 
    {
        this.mileage = mileage;
    }

    public BigDecimal getMileage() 
    {
        return mileage;
    }

    public void setDisplacement(String displacement) 
    {
        this.displacement = displacement;
    }

    public String getDisplacement() 
    {
        return displacement;
    }

    public void setFuelType(String fuelType) 
    {
        this.fuelType = fuelType;
    }

    public String getFuelType() 
    {
        return fuelType;
    }

    public void setGearboxType(String gearboxType) 
    {
        this.gearboxType = gearboxType;
    }

    public String getGearboxType() 
    {
        return gearboxType;
    }

    public void setColor(String color) 
    {
        this.color = color;
    }

    public String getColor() 
    {
        return color;
    }

    public void setVin(String vin) 
    {
        this.vin = vin;
    }

    public String getVin() 
    {
        return vin;
    }

    public void setOwnerCount(Long ownerCount) 
    {
        this.ownerCount = ownerCount;
    }

    public Long getOwnerCount() 
    {
        return ownerCount;
    }

    public void setVehicleCondition(String vehicleCondition) 
    {
        this.vehicleCondition = vehicleCondition;
    }

    public String getVehicleCondition() 
    {
        return vehicleCondition;
    }

    public void setWarrantyStatus(String warrantyStatus) 
    {
        this.warrantyStatus = warrantyStatus;
    }

    public String getWarrantyStatus() 
    {
        return warrantyStatus;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getNewPrice() {
        return newPrice;
    }

    public void setNewPrice(BigDecimal newPrice) {
        this.newPrice = newPrice;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public void setOtherImages(String otherImages)
    {
        this.otherImages = otherImages;
    }

    public String getOtherImages() 
    {
        return otherImages;
    }

    public void setLicenseDate(String licenseDate) 
    {
        this.licenseDate = licenseDate;
    }

    public String getLicenseDate() 
    {
        return licenseDate;
    }

    public String getLicenseLocation() {
        return licenseLocation;
    }

    public void setLicenseLocation(String licenseLocation) {
        this.licenseLocation = licenseLocation;
    }

    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public Long[] getConfigIds() {
        return configIds;
    }

    public void setConfigIds(Long[] configIds) {
        this.configIds = configIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("carId", getCarId())
            .append("seriesId", getSeriesId())
            .append("userId", getUserId())
            .append("nickName", getNickName())
            .append("brandType", getBrandType())
            .append("brandName", getBrandName())
            .append("yearOfManufacture", getYearOfManufacture())
            .append("mileage", getMileage())
            .append("displacement", getDisplacement())
            .append("fuelType", getFuelType())
            .append("gearboxType", getGearboxType())
            .append("color", getColor())
            .append("vin", getVin())
            .append("ownerCount", getOwnerCount())
            .append("vehicleCondition", getVehicleCondition())
            .append("warrantyStatus", getWarrantyStatus())
            .append("PRICE", getPrice())
            .append("newPrice", getNewPrice())
            .append("IMAGE", getImage())
            .append("otherImages", getOtherImages())
            .append("createTime", getCreateTime())
            .append("licenseDate", getLicenseDate())
            .append("licenseLocation", getLicenseLocation())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("remark", getRemark())
                .append("configIds", getConfigIds())
            .toString();
    }
}
